import { defineStore } from "pinia";
import { useImUserStore } from "@/store/imModules/imUserStore";
import { useConfigStore } from "@/store/imModules/configStore";
import { useChatStore } from "@/store/imModules/chatStore";
import { useFriendStore } from "@/store/imModules/friendStore";
import { useGroupStore } from "@/store/imModules/groupStore";
import { useUiStore } from "@/store/imModules/uiStore";
const imUserStore = useImUserStore();
const configStore = useConfigStore();
const chatStore = useChatStore();
const friendStore = useFriendStore();
const groupStore = useGroupStore();
const uiStore = useUiStore();
export const useImStore = defineStore("im", {
  actions: {
    load(context) {
      return imUserStore.loadUser().then(() => {
        const promises = [];
        promises.push(friendStore.loadFriend());
        promises.push(groupStore.loadGroup());
        promises.push(chatStore.loadChat());
        promises.push(configStore.loadConfig());
        return Promise.all(promises);
      })
    },
    unload(context) {
      context.commit("clear");
    }
  },
  strict: process.env.NODE_ENV !== 'production'
})
